隨著應用程序及其運行的基礎(chǔ)設(shè)施的快速變化,現(xiàn)在監(jiān)控正在發(fā)生的事情比以往任何時候都更加重要。使用應用程序性能監(jiān)控 (APM) 工具有助于提供必要的可見性和洞察力,以解決主動和被動的問題。但是,無論您是在尋找替代品還是沒有適當?shù)谋O(jiān)控,您從哪里開始?
APM 市場充斥著大量的監(jiān)控工具。有前端工具、后端工具、 全棧監(jiān)控工具。選項似乎幾乎是無限的。您是否只是使用構(gòu)成 Gartner 魔力象限的工具?也許。但我認為這還不是全部。擁有正確的工具是一個非常重要的決定。選擇錯誤的監(jiān)控工具的成本和人員成本可能是徹夜排除故障或徹夜難眠的區(qū)別 。
在這篇文章中,您將了解在評估 APM 工具時應該尋找的五項關(guān)鍵功能。
APM 基礎(chǔ)知識
應用程序性能監(jiān)控是指收集和分析整個基礎(chǔ)架構(gòu)中的應用程序使用所產(chǎn)生的數(shù)據(jù)的過程。APM 工具的主要工作是存儲所有這些數(shù)據(jù),并為您提供評估任何應用程序性能所需的可見性。這種可見性應該有助于滿足您的服務(wù)水平協(xié)議 (SLA),并以較短的平均修復時間 (MTTR) 讓用戶滿意。
基本能力
要尋找的五種功能至少是您正在考慮的任何 APM 工具必須具有的功能,以幫助滿足其工作要求。
1. 高效且可擴展的數(shù)據(jù)收集
當應用程序使用生成數(shù)據(jù)時,APM 工具需要能夠收集和存儲所有這些數(shù)據(jù)。有各種形式的生成數(shù)據(jù),如指標和日志,包括結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)。數(shù)據(jù)也可能因應用程序中使用的編程語言而異。所有這些都必須在復雜的應用程序架構(gòu)(如本地和多個云網(wǎng)絡(luò))中完成。您的 APM 工具必須能夠?qū)⑦@些數(shù)據(jù)收集到其存儲系統(tǒng)中并將其保存在那里,直到您需要或看到它為止。
數(shù)據(jù)收集和存儲通常是 APM 工具的一個問題。有些可以收集您的所有數(shù)據(jù),但可能需要太多時間。其他人僅通過收集和存儲該數(shù)據(jù)的樣本來解決此問題。但是你失去了大海撈針所需的粒度。APM 工具應該能夠有效地收集和存儲數(shù)據(jù),并在需要時大規(guī)模 進行。
2. 有效的根本原因分析
當在您的基礎(chǔ)架構(gòu)上運行的應用程序出現(xiàn)問題時,您需要一種方法來盡快找到此問題的根本原因。您的用戶可能并不關(guān)心您和您的團隊需要對情況進行分類并追蹤問題。您需要一個 APM 工具來幫助解析它收集的有關(guān)您的應用程序及其基礎(chǔ)架構(gòu)的所有數(shù)據(jù),并準確告訴您問題的原因是什么。至少,該工具應通過指定可能是問題根源的基礎(chǔ)架構(gòu)組件或代碼行來幫助減少您需要執(zhí)行的分析。
多年來,根本原因分析一直是所有 APM 工具的一項關(guān)鍵要求,但遺憾的是,許多工具都未能滿足要求。對于當今復雜得多的應用程序和服務(wù),這是必須的。一些 APM 工具利用人工智能從收集的數(shù)據(jù)中開發(fā)模式。這些模式有助于該工具更快地識別任何性能下降的原因,并通知您具體細節(jié)。變得越來越普遍的是AIOps,它使用 AI 功能自動為您修復某些操作問題。不利用 AI 來幫助 IT 運營的 APM 工具在當今的大數(shù)據(jù)世界中變得不那么有用了。
3.異常行為檢測
今天的應用程序非常復雜,有時它們運行在更復雜的環(huán)境中。您的組織可能仍然在跨公共和私有云基礎(chǔ)架構(gòu)的新云原生應用程序旁邊運行舊的單體應用程序。查看應用程序架構(gòu)圖并看到任何不尋常的東西的想法已經(jīng)過時了。您需要能夠識別以前從未發(fā)生過的事情何時發(fā)生。這就是異常檢測可以提供幫助的地方。
可以檢測異常行為的 APM 工具有助于大大降低 MTTR。它應該能夠?qū)崟r收集所有數(shù)據(jù),并且當發(fā)生以前從未見過的事情時,您可以獲得警報。
依靠配置所有 警報不是一種選擇。您不應考慮任何只能提供這種警報功能的 APM 工具。您需要一個能夠智能地識別與先前數(shù)據(jù)不一致的數(shù)據(jù)模式并讓您知道的工具。
這甚至可以擴展到應用程序。它是否檢測到跨基礎(chǔ)架構(gòu)運行的新應用程序并開始收集有關(guān)它們的數(shù)據(jù)?對于監(jiān)控現(xiàn)代應用程序的 APM 工具來說,這是當今必須的。
4. 應用事務(wù)跟蹤
對于較舊的單體應用程序,監(jiān)控要簡單得多。有時,應用程序的所有各種組件都在一臺服務(wù)器上,代表一個應用程序?qū)印kS著時間的推移,應用程序?qū)⒃趦蓚€或三個不同的層上運行,例如應用程序和數(shù)據(jù)庫層。在這些架構(gòu)中,更容易跟蹤各種應用程序事務(wù)請求和事件。
現(xiàn)在,隨著應用程序在各種基礎(chǔ)設(shè)施環(huán)境中作為微服務(wù)、容器和無服務(wù)器功能運行,這樣做是不可能的。您需要您的 APM 工具能夠識別應用程序事務(wù)并跨應用程序的所有組件對其進行跟蹤,無論其架構(gòu)是什么或它在您的基礎(chǔ)架構(gòu)中的什么位置。這有助于在需要時確定特定問題的確切位置。
事務(wù)跟蹤 還可以幫助您更好地了解應用程序的工作方式。無論是在開發(fā)過程中還是在生產(chǎn)過程中,跟蹤都可以幫助您了解應用程序的內(nèi)部運作。然后,您可以查看應用程序在代碼或基礎(chǔ)架構(gòu)中的哪些位置可能會遭受性能下降,這些性能下降可能不會影響用戶,但可能是需要解決的明顯問題。僅考慮提供此關(guān)鍵功能的 APM 工具。
5. 業(yè)務(wù)影響分析
APM 工具歷來更受 IT 專業(yè)人員的關(guān)注。但隨著向云基礎(chǔ)設(shè)施和云原生應用程序的轉(zhuǎn)變,組織按資源使用付費,擁有更多業(yè)務(wù)友好的界面是一項關(guān)鍵能力。IT 領(lǐng)導者需要一種方法來利用所有這些生成的數(shù)據(jù)來確定業(yè)務(wù)受到的影響。
APM 工具在這里很有幫助的一種方式是,當它提供對應用程序正在使用多少云資源的可見性時。APM 工具可以顯示一個應用程序比其他應用程序使用更多的云存儲。這不僅會影響性能,還會增加企業(yè)的服務(wù)器成本。
APM 工具需要能夠提供為業(yè)務(wù)分析師量身定制的用戶界面視圖,因此 UI 必須直觀、交互且易于使用。如果需要,許多 IT 人員對命令行完全滿意。但并非所有人都如此,當然也不適用于更具商業(yè)頭腦的領(lǐng)導者。APM 工具必須允許團隊構(gòu)建能夠提供以業(yè)務(wù)為中心的洞察力的儀表板和報告,以幫助做出有益于業(yè)務(wù)的應用程序決策。